home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 7: Sunsite
/
Linux Cubed Series 7 - Sunsite Vol 1.iso
/
system
/
admin
/
sudo-1.000
/
sudo-1
/
sudo-1.2
/
sudo.linux.diffs
< prev
next >
Wrap
Text File
|
1993-12-05
|
13KB
|
486 lines
diff -c -r sudo-1.2/Makefile sudo-1.2-l/Makefile
*** sudo-1.2/Makefile Fri Jun 11 16:02:58 1993
--- sudo-1.2-l/Makefile Sun Dec 5 15:30:29 1993
***************
*** 87,111 ****
# Syslog_priority_NO LOG_ALERT
#
DEFINES = -LOGFILE=/var/log/sudo
OBJS = find_path.o logging.o sudo.o check.o parse.o lex.yy.o y.tab.o
SRCS = find_path.c logging.c sudo.c check.c parse.c
INCLUDES = sudo.h
SUDODIR = /usr/local/bin
! VISUDODIR = /usr/local/etc
! SUDOERSDIR = /etc
MANSECTION = 8
MANDIR = /usr/local/man/man${MANSECTION}
! PROG = sudo
! CCFLAGS =
! LIBS = -ly -ll
SUNOS4 = -Bstatic
.SUFFIXES: .o .c
.c.o: ${SRCS}
! cc ${CCFLAGS} -c ${DEFINES} $<
all : ${PROG} visudo
--- 87,122 ----
# Syslog_priority_NO LOG_ALERT
#
+ # define this for shadow passwords
+ SHADOW = -DSHADOW_PWD
+ CC = gcc
+ LEX = flex
+ YACC = bison -y
+ CCFLAGS = -O2 -DHAVE_STRDUP -DLINUX $(SHADOW) -m486 -fomit-frame-pointer
+ LDFLAGS = -s
+ # use this for debugging
+ # CCFLAGS = -g -DHAVE_STRDUP -DLINUX $(SHADOW)
+ LDFLAGS =
DEFINES = -LOGFILE=/var/log/sudo
OBJS = find_path.o logging.o sudo.o check.o parse.o lex.yy.o y.tab.o
SRCS = find_path.c logging.c sudo.c check.c parse.c
INCLUDES = sudo.h
+ SUDOBIN = sudo.bin
SUDODIR = /usr/local/bin
! VISUDODIR = /usr/local/sbin
! SUDOERSDIR = /usr/local/etc
MANSECTION = 8
MANDIR = /usr/local/man/man${MANSECTION}
! PROG = sudo.bin
! LIBS = -lshadow
SUNOS4 = -Bstatic
+ LINUX =
.SUFFIXES: .o .c
.c.o: ${SRCS}
! ${CC} ${CCFLAGS} -c ${DEFINES} $<
all : ${PROG} visudo
***************
*** 112,129 ****
all-sunos4 : sudo-sunos4 visudo
${PROG} : ${OBJS}
! cc -o $@ *.o ${LIBS}
sudo-sunos4 : ${OBJS}
! cc -o sudo *.o ${SUNOS4} ${LIBS}
y.tab.o y.tab.h : parse.yacc ${INCLUDES}
! yacc -d parse.yacc
! cc $(CCFLAGS) -c y.tab.c
lex.yy.o : parse.lex y.tab.h ${INCLUDES}
! lex parse.lex
! cc $(CCFLAGS) -c lex.yy.c
logging.o sudo.o check.o parse.o : ${INCLUDES}
--- 123,140 ----
all-sunos4 : sudo-sunos4 visudo
${PROG} : ${OBJS}
! ${CC} -o $@ *.o ${LIBS}
sudo-sunos4 : ${OBJS}
! ${CC} -o sudo *.o ${SUNOS4} ${LIBS}
y.tab.o y.tab.h : parse.yacc ${INCLUDES}
! ${YACC} -d parse.yacc
! ${CC} $(CCFLAGS) -c y.tab.c
lex.yy.o : parse.lex y.tab.h ${INCLUDES}
! ${LEX} parse.lex
! ${CC} $(CCFLAGS) -c lex.yy.c
logging.o sudo.o check.o parse.o : ${INCLUDES}
***************
*** 130,156 ****
visudo :
(cd visudoers && make ${MFLAGS} $@)
install-all : install-binaries install-sudoers install-man
install-all-sunos4: install-binaries-sunos4 install-sudoers
install-sudoers:
! install -o root -g staff -m 0400 -c sudoers ${SUDOERSDIR}/sudoers
install-binaries: all
! install -o root -g staff -m 4111 -s -c sudo ${SUDODIR}/sudo
! install -o root -g staff -m 0111 -s -c visudoers/visudo ${VISUDODIR}/visudo
install-binaries-sunos4: sudo-sunos4 visudo
! install -o root -g staff -m 4111 -s -c sudo ${SUDODIR}/sudo
! install -o root -g staff -m 0111 -s -c visudoers/visudo ${VISUDODIR}/visudo
install-man:
! install -o root -g staff -m 0644 -c sudo.8 ${MANDIR}/sudo.${MANSECTION}
tags :
ctags ${SRCS} ${INCLUDES}
clean :
! -rm -f lex.yy.* y.tab.* *.o sudo
(cd visudoers && make ${MFLAGS} $@);
--- 141,170 ----
visudo :
(cd visudoers && make ${MFLAGS} $@)
+ install : install-all
+
install-all : install-binaries install-sudoers install-man
install-all-sunos4: install-binaries-sunos4 install-sudoers
install-sudoers:
! install -o root -g wheel -m 0600 -c sudoers ${SUDOERSDIR}/sudoers
install-binaries: all
! install -o root -g wheel -m 4755 -s -c ${PROG} ${SUDODIR}/${SUDOBIN}
! install -o root -g wheel -m 0755 -c sudo.sh ${SUDODIR}/sudo
! install -o root -g wheel -m 0755 -s -c visudoers/visudo ${VISUDODIR}/visudo
install-binaries-sunos4: sudo-sunos4 visudo
! install -o root -g wheel -m 4111 -s -c sudo ${SUDODIR}/sudo
! install -o root -g wheel -m 0111 -s -c visudoers/visudo ${VISUDODIR}/visudo
install-man:
! install -o root -g wheel -m 0644 -c sudo.8 ${MANDIR}/sudo.${MANSECTION}
tags :
ctags ${SRCS} ${INCLUDES}
clean :
! -rm -f lex.yy.* y.tab.* *.o ${PROG}
(cd visudoers && make ${MFLAGS} $@);
diff -c -r sudo-1.2/check.c sudo-1.2-l/check.c
*** sudo-1.2/check.c Fri Jun 11 09:41:28 1993
--- sudo-1.2-l/check.c Sun Dec 5 14:57:31 1993
***************
*** 44,49 ****
--- 44,53 ----
#include <pwd.h>
#include "sudo.h"
+ #ifdef LINUX
+ #include <sys/types.h>
+ #endif
+
char *getpass();
static int check_timestamp();
***************
*** 74,80 ****
--- 78,88 ----
exit(1);
}
rtn = check_timestamp();
+ #ifdef LINUX
+ if ( setreuid (uid) ) { /* don't want to be root longer than necessary */
+ #else
if ( setruid (uid) ) { /* don't want to be root longer than necessary */
+ #endif
perror("setruid(uid)");
exit(1);
}
***************
*** 87,93 ****
--- 95,105 ----
exit(1);
}
update_timestamp();
+ #ifdef LINUX
+ if ( setreuid (uid) ) { /* don't want to be root longer than necessary */
+ #else
if ( setruid (uid) ) { /* don't want to be root longer than necessary */
+ #endif
perror("setruid(uid)");
exit(1);
}
***************
*** 205,211 ****
--- 217,225 ----
static void check_passwd()
{
+ #ifndef SHADOW_PWD
char *crypt();
+ #endif
struct passwd *pw_ent;
char *encrypted; /* this comes from /etc/passwd */
char *pass; /* this is what gets entered */
diff -c -r sudo-1.2/find_path.c sudo-1.2-l/find_path.c
*** sudo-1.2/find_path.c Fri Jun 11 09:41:28 1993
--- sudo-1.2-l/find_path.c Sat Dec 4 22:37:39 1993
***************
*** 232,238 ****
!
/******************************************************************
*
* strdup()
--- 232,238 ----
! #ifndef HAVE_STRDUP
/******************************************************************
*
* strdup()
***************
*** 250,252 ****
--- 250,253 ----
strcpy(s,s1);
return (s);
}
+ #endif /* not defined HAVE_STRDUP */
diff -c -r sudo-1.2/logging.c sudo-1.2-l/logging.c
*** sudo-1.2/logging.c Fri Jun 11 09:41:28 1993
--- sudo-1.2-l/logging.c Sat Dec 4 22:38:54 1993
***************
*** 42,47 ****
--- 42,51 ----
#include <sys/errno.h>
#include "sudo.h"
+ #ifdef LINUX
+ #include <signal.h>
+ #endif /* LINUX */
+
void log_error();
void readchild();
static void send_mail();
diff -c -r sudo-1.2/parse.lex sudo-1.2-l/parse.lex
*** sudo-1.2/parse.lex Fri Jun 11 09:41:28 1993
--- sudo-1.2-l/parse.lex Sat Dec 4 22:48:34 1993
***************
*** 30,48 ****
*
* Lex Specification file for the sudo project.
*******************************************************************************/
- #include "y.tab.h"
#include "sudo.h"
%}
%%
[ \t]+ { ; } /* throw away space/tabs */
! \\\n { ; } /* throw away EOL after \ */
\, { return ','; } /* return ',' */
\! { return '!'; } /* return '!' */
= { return '='; } /* return '=' */
: { return ':'; } /* return ':' */
! \n { return COMMENT; } /* return newline */
! #.*\n { return COMMENT; } /* return comments */
[@$%^&*()"'`/_+]* { return ERROR; } /* return error */
[?;<>\[\]{}|~.-]* { return ERROR; } /* return error */
^[a-zA-Z0-9_-]+ { fill(); return IDENT1;} /* user/{Host,Cmnd}_Alias */
--- 30,51 ----
*
* Lex Specification file for the sudo project.
*******************************************************************************/
#include "sudo.h"
+ #include "y.tab.h"
+ int yylineno;
%}
%%
[ \t]+ { ; } /* throw away space/tabs */
! \\\n { yylineno++; } /* throw away EOL after \ */
\, { return ','; } /* return ',' */
\! { return '!'; } /* return '!' */
= { return '='; } /* return '=' */
: { return ':'; } /* return ':' */
! \n { yylineno++;
! return COMMENT; } /* return newline */
! #.*\n { yylineno++;
! return COMMENT; } /* return comments */
[@$%^&*()"'`/_+]* { return ERROR; } /* return error */
[?;<>\[\]{}|~.-]* { return ERROR; } /* return error */
^[a-zA-Z0-9_-]+ { fill(); return IDENT1;} /* user/{Host,Cmnd}_Alias */
diff -c -r sudo-1.2/sudo.c sudo-1.2-l/sudo.c
*** sudo-1.2/sudo.c Fri Jun 11 09:41:28 1993
--- sudo-1.2-l/sudo.c Sun Dec 5 14:56:51 1993
***************
*** 47,52 ****
--- 47,55 ----
#include <stdio.h>
#include <string.h>
#include <strings.h>
+ #ifdef LINUX
+ #include <sys/types.h>
+ #endif /* LINUX */
#include <pwd.h>
#include <netdb.h>
#include <sys/param.h>
***************
*** 98,104 ****
--- 101,111 ----
exit(1);
}
rtn=validate();
+ #ifdef LINUX
+ if ( setreuid(uid) ) {
+ #else
if ( setruid(uid) ) {
+ #endif
perror("setruid(uid)");
exit(1);
}
diff -c -r sudo-1.2/sudo.h sudo-1.2-l/sudo.h
*** sudo-1.2/sudo.h Fri Jun 11 09:41:28 1993
--- sudo-1.2-l/sudo.h Sun Dec 5 14:40:44 1993
***************
*** 92,98 ****
#endif
#ifndef EDITOR
! #define EDITOR "/usr/ucb/vi"
#endif
#ifndef MAXHOSTNAMELEN
--- 92,98 ----
#endif
#ifndef EDITOR
! #define EDITOR "/usr/bin/vi"
#endif
#ifndef MAXHOSTNAMELEN
***************
*** 137,143 ****
#endif
#else
#ifndef LOGFILE
! #if defined(ultrix) || defined(sun)
#define LOGFILE "/var/adm/sudo.log"
#else
#define LOGFILE "/usr/adm/sudo.log"
--- 137,143 ----
#endif
#else
#ifndef LOGFILE
! #if defined(ultrix) || defined(sun) || defined(LINUX)
#define LOGFILE "/var/adm/sudo.log"
#else
#define LOGFILE "/usr/adm/sudo.log"
Only in sudo-1.2-l: sudo.sh
diff -c -r sudo-1.2/visudoers/Makefile sudo-1.2-l/visudoers/Makefile
*** sudo-1.2/visudoers/Makefile Fri Jun 11 09:41:29 1993
--- sudo-1.2-l/visudoers/Makefile Sun Dec 5 15:32:31 1993
***************
*** 26,47 ****
# This is the makefile for visudo
#
#
! CCFLAGS=
! LIBS=-ly -ll
visudo : lex.yy.o y.tab.o visudo.o
! cc $(CCFLAGS) -o $@ *.o ${LIBS}
! y.tab.o y.tab.h : visudo.yacc sudo.h
! yacc -d visudo.yacc
! cc $(CCFLAGS) -c y.tab.c
! lex.yy.o : visudo.lex y.tab.h sudo.h
! lex visudo.lex
! cc $(CCFLAGS) -c lex.yy.c
! visudo.o : visudo.c sudo.h
! cc $(CCFLAGS) -c visudo.c
clean :
-rm -f lex.yy.* y.tab.* *.o visudo
--- 26,55 ----
# This is the makefile for visudo
#
#
! CC=gcc
! # CC=cc
! LEX=flex
! # LEX=lex
! YACC=bison -y
! # YACC=yacc
! CCFLAGS=-I.. -m486 -fomit-frame-pointer -O2
! LDFLAGS=-s -N
! LIBS=
! # LIBS=-ll -ly
visudo : lex.yy.o y.tab.o visudo.o
! $(CC) $(CCFLAGS) -o $@ *.o ${LIBS}
! y.tab.o y.tab.h : visudo.yacc ../sudo.h
! $(YACC) -d visudo.yacc
! $(CC) $(CCFLAGS) -c y.tab.c
! lex.yy.o : visudo.lex y.tab.h ../sudo.h
! $(LEX) visudo.lex
! $(CC) $(CCFLAGS) -c lex.yy.c
! visudo.o : visudo.c ../sudo.h
! $(CC) $(CCFLAGS) -c visudo.c
clean :
-rm -f lex.yy.* y.tab.* *.o visudo
Only in sudo-1.2/visudoers: sudo.h
diff -c -r sudo-1.2/visudoers/visudo.lex sudo-1.2-l/visudoers/visudo.lex
*** sudo-1.2/visudoers/visudo.lex Fri Jun 11 09:41:29 1993
--- sudo-1.2-l/visudoers/visudo.lex Sat Dec 4 22:52:30 1993
***************
*** 30,48 ****
*
* Lex Specification file for the sudo project.
*******************************************************************************/
- #include "y.tab.h"
#include "sudo.h"
%}
%%
[ \t]+ { ; } /* throw away space/tabs */
! \\\n { ; } /* throw away EOL after \ */
\, { return ','; } /* return ',' */
\! { return '!'; } /* return '!' */
= { return '='; } /* return '=' */
: { return ':'; } /* return ':' */
! \n { return COMMENT; } /* return newline */
! #.*\n { return COMMENT; } /* return comments */
[@$%^&*()"'`/_+]* { return ERROR; } /* return error */
[?;<>\[\]{}|~.-]* { return ERROR; } /* return error */
^[a-zA-Z0-9_-]+ { fill(); return IDENT1;} /* user/{Host,Cmnd}_Alias */
--- 30,51 ----
*
* Lex Specification file for the sudo project.
*******************************************************************************/
#include "sudo.h"
+ #include "y.tab.h"
+ int yylineno;
%}
%%
[ \t]+ { ; } /* throw away space/tabs */
! \\\n { yylineno++; } /* throw away EOL after \ */
\, { return ','; } /* return ',' */
\! { return '!'; } /* return '!' */
= { return '='; } /* return '=' */
: { return ':'; } /* return ':' */
! \n { yylineno++;
! return COMMENT; } /* return newline */
! #.*\n { yylineno++;
! return COMMENT; } /* return comments */
[@$%^&*()"'`/_+]* { return ERROR; } /* return error */
[?;<>\[\]{}|~.-]* { return ERROR; } /* return error */
^[a-zA-Z0-9_-]+ { fill(); return IDENT1;} /* user/{Host,Cmnd}_Alias */